package com.webserver.http;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/*
    用于记录所有HTTP协议相关的规定内容
 */
public class HttpContext {
    /*
        所有资源后缀与头信息Content-type的值得对应关系
        key：资源后缀名
        value：Content-type头对应的值
     */
    private static Map<String,String> mimeMapping = new HashMap<>();

    static{//静态块中初始化mimeMapping
        initMimeMapping();
    }

    private static void initMimeMapping(){
       try {
            Properties properties = new Properties();
            properties.load(
                //后期解释
                HttpContext.class.getResourceAsStream("web.properties")
        );
        properties.forEach(
                (k,v)-> mimeMapping.put(k.toString(),v.toString())
                //把每个键值对传给mimeMapping
        );

       } catch (IOException e) {
           e.printStackTrace();
       }
    }

    /*
        根据后缀名获取信息Con-type的值
     */
    public static String getMimeType(String ext){
        return mimeMapping.get(ext);
    }

    public static void main(String[] args) {
        String type = getMimeType("png");
        System.out.println(type);
    }
}
